@import url("Reset.css");

html {
	font-family: -apple-system, BlinkMacSystemFont,
		'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
		'Open Sans', 'Helvetica Neue', sans-serif;
	font-size: 16px;

	background-color: #0f0f0f;
	color: white;
}

p {
	font-size: 17px;
}

body {
	display: block;
}

h1 {
	font-size: 85px;
	font-weight: 600;
}

h2 {
	font-size: 62px;
	font-weight: 600;
}

h3 {
	font-size: 48px;
	font-weight: 600;
}

h4 {
	font-size: 36px;
	font-weight: 500;
}

h5 {
	font-size: 25px;
	font-weight: 500;
}

h6 {
	font-size: 18px;
	font-weight: 500;
}

table>caption {
	font-size: 30px;
	font-weight: 500;
	text-align: left;
}

table>caption,
h1,
h2,
h3,
h4,
h5,
h6 {
	position: relative;
}

h1.bl::after,
h2.bl::after,
h3.bl::after,
h4.bl::after,
h5.bl::after,
h6.bl::after {
	content: "";
	display: block;

	height: 0.15ch;
	width: 100%;

	margin-top: 0.075ch;

	background-color: #58585820;
}

hr {
	display: block;

	height: 3px;
	width: 100%;

	background-color: #58585820;
}

img {
	max-width: 100%;
	max-height: 100vh;
	width: auto;

	user-select: none;

	margin-left: auto;
	margin-right: auto;

	display: block;
}

img[data-flags~="user-select"],
img[data-flags~="-s"] {
	user-select: auto;
}

body.javascript img[data-flags~="popup-open"],
body.javascript img[data-flags~="-o"] {
	cursor: zoom-in;
}

body.javascript #popup_image>img.\.open {
	cursor: zoom-out;
}

ul,
ol {
	padding-inline-start: 0px;
	margin-left: 0;
}

ul>li::marker,
ol>li::marker {
	color: #8faa8c;
}

ul[data-mark="circle"]>li::marker,
ul>li::marker {
	content: '● ';
}

ul[data-mark="square"]>li::marker {
	content: '▪ ';
}

ul[data-mark="star"]>li::marker {
	content: '* ';
}

ul[data-mark="dash"]>li::marker {
	content: '- ';
}

ul[data-mark="pointer"]>li::marker {
	content: '-> ';
}

button,
.button {
	display: block;
	min-width: 115px;

	max-height: none;
	text-decoration: none;

	background-color: #00000040;
	color: #fff;

	--hover-color: #0877008b;

	padding: 4px 8px;
	font-size: 16px;
	user-select: none;

	position: relative;

	font-family: "Consolas", monospace;
	font-weight: 800;

	cursor: pointer;
}

.button:visited {
	color: unset;
}

button:hover,
.button:hover {
	background-color: var(--hover-color);
}

button:disabled,
button[disabled],
.button[disabled] {
	background-color: #7070706b;
	cursor: no-drop;
}

button[data-type="copy"]::before {
	font-family: 'icons';
	content: "\e012";
	position: relative;
	top: 2px;
}

button[data-type="clear"]::before {
	font-family: 'icons';
	content: "\e009";
	position: relative;
	top: 2px;
}

button[data-type="copy"]::after {
	content: " Копировать";
}

button[data-type="clear"]::after {
	content: " Очистить";
}

table {
	min-width: 100%;
	max-width: 100%;

	padding: 0;
	font-size: 16px;

	border-collapse: collapse;
	border-width: 3px;
	border-color: #222222;
}

table th,
table td,
table thead {
	border-collapse: collapse;
	border-width: 3px;
	border-style: solid;
	border-color: #222222;
}

table th,
table td {
	padding-left: 0.5ch;
	padding-right: 0.5ch;
	padding-top: 0.25ch;
	padding-bottom: 0.25ch;

	vertical-align: middle;
}

table td {
	background-color: #0000003d;
}

table th {
	background-color: #ffffff02;
}

table th[data-align="center"],
table td[data-align="center"] {
	text-align: center;
}

table th[data-align="left"],
table td[data-align="left"] {
	text-align: left;
}

table th[data-align="right"],
table td[data-align="right"] {
	text-align: right;
}

table th[data-align="justify"],
table td[data-align="justify"] {
	text-align: justify;
}

table thead {
	border-bottom-style: dashed;
}

::-webkit-scrollbar {
	width: 15px;
	height: 15px;
}

::-webkit-scrollbar-track {
	background-color: #ffffff07;
}

::-webkit-scrollbar-thumb {
	background-color: #ffffff11;
}

::-webkit-scrollbar-button {
	display: none;
}

::-webkit-scrollbar-corner {
	background-color: #00000013
}

::-webkit-scrollbar-thumb:hover {
	background-color: #ffffff2d;
}

::-webkit-scrollbar-track:hover {
	background-color: #00000013;
}

*::selection {
	background-color: #614a00;
}

/*-------*/

span.reset {
	color: white;
	background-color: transparent;
	white-space: normal;
	text-decoration: none;
	font-style: normal;
	vertical-align: baseline;
	user-select: text;
}

b,
span.b,
span.bold {
	font-weight: bold;
}

u,
span.u,
span.underline {
	text-decoration: underline;
}

s,
del,
span.strikethrough {
	text-decoration: line-through;
}

i,
span.italic {
	font-style: italic;
}

pre {
	white-space: pre-wrap;
	tab-size: 4;
}

sup,
span.upper {
	font-size: smaller;
	vertical-align: super;
	display: inline;
}

sub,
span.lower {
	font-size: smaller;
	vertical-align: sub;
	display: inline;
}

mark,
span.mark {
	background-color: #008ecf;
	color: black;
}

code,
span.code {
	/*border-radius: 0.55ch;*/
	background-color: #a1a1a113;
	font-family: "Consolas", monospace;

	padding-top: 1.46px;
	padding-bottom: 1.46px;

	padding-left: 0.75ch;
	padding-right: 0.75ch;

	user-select: all;
}

span.center {
	font-size: smaller;
	vertical-align: middle;
	display: inline;
}

span.glow {
	--my-color: #249415;

	color: var(--my-color);
}

span.score::selection {
	color: black;
	background-color: var(--color);
}

a {
	color: #00794a;
	text-decoration: underline;
}

a:hover {
	color: #00ff9d;
	text-decoration: none;

	font-weight: 500;
}

a:visited {
	color: #6d7900;
}

a:visited:hover {
	color: #e5ff00;
}

a.out::after {
	content: ' #';
	font-weight: 800;
}

a.anchor {
	color: #0d4d00;
}

a.anchor:hover {
	color: #1eb300;
}

a.error {
	color: #790000;
}

a.error:hover {
	color: #ff0000;
}

a.anchor::after {
	content: ' #';
	font-weight: 800;
}

a.error.anchor {
	color: #7a4100;
}

a.error.anchor:hover {
	color: #ff8800;
}

code::selection,
span.code::selection,
.object[data-type="code"] *::selection {
	background-color: #176100;
}

a::selection,
a::selection,
a::selection {
	color: white;
}

a::selection {
	background-color: #00794a;
}

a:visited::selection {
	background-color: #6d7900;
}

a.anchor::selection {
	background-color: #0d4d00;
}

a.error::selection {
	background-color: #790000;
}

a.error.anchor::selection {
	background-color: #7a4100;
}

span.glow::selection {
	color: white;
	background-color: #249415;
}

mark::selection,
span.mark::selection {
	color: black;
	background-color: white;
}

table>caption>a,
table>caption>a:visited,
/*---*/
h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a,
/*---*/
h1>a:visited,
h2>a:visited,
h3>a:visited,
h4>a:visited,
h5>a:visited,
h6>a:visited {
	color: white;
	text-decoration: none;
	font-weight: inherit;
}

table>caption b,
/*---*/
h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b {
	font-weight: 800;
}

table>caption>a:hover,
table>caption>a:visited:hover,
/*---*/
h1>a:hover,
h2>a:hover,
h3>a:hover,
h4>a:hover,
h5>a:hover,
h6>a:hover,
/*---*/
h1>a:visited:hover,
h2>a:visited:hover,
h3>a:visited:hover,
h4>a:visited:hover,
h5>a:visited:hover,
h6>a:visited:hover {
	color: #0d4d00;
	text-decoration: underline;
}

table>caption>a::before,
/*---*/
h1>a::before,
h2>a::before,
h3>a::before,
h4>a::before,
h5>a::before,
h6>a::before {
	content: '#';
	font-weight: 400;

	position: absolute;

	top: 50%;
	left: 0%;

	transform: translate(-150%, -50%);
	color: #0d4d00;
	opacity: 0;

	font-size: 100%;
}

table>caption>a:hover::before,
/*---*/
h1>a:hover::before,
h2>a:hover::before,
h3>a:hover::before,
h4>a:hover::before,
h5>a:hover::before,
h6>a:hover::before {
	opacity: 1;
}

table>caption>a::selection,
table>caption>a:visited::selection,
/*---*/
h1>a::selection,
h2>a::selection,
h3>a::selection,
h4>a::selection,
h5>a::selection,
h6>a::selection,
/*---*/
h1>a:visited::selection,
h2>a:visited::selection,
h3>a:visited::selection,
h4>a:visited::selection,
h5>a:visited::selection,
h6>a:visited::selection {
	background-color: #0d4d00;
}

/*-------*/

.msg-box {
	padding-left: calc(10px + 1.25ch);
	padding-right: 10px;
	padding-bottom: 5px;
	padding-top: 2.5px;

	position: relative;
}

.msg-box>h4,
.msg-box.sh::before {
	display: inline;

	font-weight: 500;
	font-size: 1.65em;

	color: var(--color);
	background-color: transparent;
}

.msg-box>h4::selection {
	color: black;
	background-color: var(--color);
}

.msg-box>h4 {
	display: block;
}

.msg-box::after {
	content: "";
	display: block;
	position: absolute;

	height: 100%;
	width: 1.25ch;
	top: 0;
	left: 0;
}

.msg-box[data-type="note"]>h4,
.msg-box[data-type="note"].sh::before {
	content: "⯑ Примечание";
	--color: #db80ff;
}

.msg-box[data-type="warning"]>h4,
.msg-box[data-type="warning"].sh::before {
	content: "⚠ Предупреждение";
	--color: #ffb3b3;
}

.msg-box[data-type="hint"]>h4,
.msg-box[data-type="hint"].sh::before {
	content: "⚙ Совет";
	--color: #b8ffb3;
}

.msg-box[data-type="rule"]>h4,
.msg-box[data-type="rule"].sh::before {
	content: "⛨ Важно";
	--color: #fff780;
}

.msg-box[data-type="info"]>h4,
.msg-box[data-type="info"].sh::before {
	content: "♻ Инфармация";
	--color: #80d0ff;
}

.msg-box[data-type="note"] {
	background-color: #43005d17;
}

.msg-box[data-type="warning"] {
	background-color: #5c000017;
}

.msg-box[data-type="hint"] {
	background-color: #065d0017;
}

.msg-box[data-type="rule"] {
	background-color: #49430017;
}

.msg-box[data-type="info"] {
	background-color: #003a5c17;
}

.msg-box[data-type="note"]::after {
	background-color: #43005d8d;
}

.msg-box[data-type="warning"]::after {
	background-color: #5c00008d;
}

.msg-box[data-type="hint"]::after {
	background-color: #065d008d;
}

.msg-box[data-type="rule"]::after {
	background-color: #5c56008d;
}

.msg-box[data-type="info"]::after {
	background-color: #003a5c8d;
}

/*-------*/

.object>* {
	display: none;
}

.object[data-type="-su"],
.object[data-type="sub-sup"],
.object[data-type="fraction"] {
	display: inline-flex;

	align-items: center;
	flex-direction: column;
	justify-content: center;

	position: relative;
	vertical-align: 45%;
}

.object[data-type="fraction"] {
	vertical-align: calc(45% - 0.1rem);
}

.object[data-type="-su"]>*,
.object[data-type="sub-sup"]>*,
.object[data-type="fraction"]>* {
	font-size: 75%;
}

.object[data-type="fraction"]>:nth-child(1) {
	display: inline;
	border-bottom: 0.2em solid white;
}

.object[data-type="-su"]>:nth-child(1),
.object[data-type="sub-sup"]>:nth-child(1),
.object[data-type="-su"]>:nth-child(2),
.object[data-type="sub-sup"]>:nth-child(2),
.object[data-type="fraction"]>:nth-child(2) {
	display: inline;
}

img.px {
	image-rendering: pixelated;
}

/*-------*/

body.no-js img,
body.javascript.css-key-ctrl img {
	cursor: pointer;
}

body:not(.no-js, .javascript) {
	opacity: 0;
}

/*-------*/

body.no-js a,
body.javascript a {
	transition-property: color;
	transition-timing-function: linear;
	transition-duration: 0.25s;
}

body.no-js button,
body.no-js .button,
/*---*/
body.javascript button,
body.javascript .button {
	transition-property: background-color, color;
	transition-duration: 0.25s;
	transition-timing-function: linear;
}